Maintaining message privacy on an exposed display device

ABSTRACT

A determination is made as to whether a computer is in a slide presentation mode. In response to determining that the computer is in the slide presentation mode, a configured designee alert mode is automatically selected. Message data is received through a communications medium. The message data is transferred to an alternate designated recipient according to the automatically selected designee alert mode when the computer is in the slide presentation mode.

RELATED APPLICATIONS

This application is a continuation of and claims priority to and claimsthe benefit of U.S. patent application Ser. No. 10/905,499 titled “ASYSTEM FOR MAINTAINING MESSAGE PRIVACY ON AN EXPOSED DISPLAY DEVICE,”which has had a title change to “MAINTAINING MESSAGE PRIVACY ON ANEXPOSED DISPLAY DEVICE,” which was filed in the United States Patent andTrademark Office on Jan. 7, 2005, which has a current status of“Allowed,” and which is incorporated herein by reference in itsentirety.

BACKGROUND

The present invention is a process for using electrical computers ordata processing machines to transfer data via one or more communicationsmedia. In particular, the present invention comprises an improveddemand-based messaging system that enables instant message recipients toprotect their privacy on an exposed display device.

Demand-based messaging is a communication service that allows users toexchange message data, such as text, over a network or othercommunications media, in real time. Probably the most common medium forexchange is the Internet. Instant messaging (IM) is perhaps the mostwidely known and used embodiment of demand-based messaging. Today, mostnetwork and online service providers offer some form of IM service.

IM users typically use a networked computer and IM client software toexchange messages with one another in conversational style. An IM clientprovides an interface for users to compose, send, receive, and read textmessages. IM sessions (colloquially referred to as “chats”) are oftenlengthy, with multiple participants each taking many turns “speaking” inthe chat window. Examples of IM clients that are popular today includeIBM's SameTime, MSN Messenger, and Yahoo/AOL Instant Messenger.

Typically, an IM service alerts an IM client whenever a user receives aninstant message. The alert usually consists of a pop-up window or othervisual indication on a user's display, but may include an audibleindicator as well. Many IM clients, though, instantaneously display themessage on the user's display without any alert. Most IM clients alsoallow a user to maintain a private list of other IM users. The IM clientthen alerts the user when the other users in the private list areonline. Again, an alert usually consists of some visual or audibleindication, or any combination of the two. The alerted user can theninitiate a chat with the user in the private list who is online.

Occasionally, though, IM alerts can have unintended and undesirableeffects. For instance, if a user's display is exposed to an audiencewhen the user receives an alert, the alert also would be exposed to theentire audience. Examples of such exposed displays abound, includinglarge screens used for slide show presentations and network-basedmultimedia presentations. Even if a user is merely allowing an associateto view the user's display and receives an alert, the associate alsowould be able to see or hear the alert. Not only are such situationspotentially annoying or embarrassing, but they also could result in theunintended disclosure of personal or confidential information.

Presently, some IM clients can be configured to prevent some instancesof undesirable alerts. Most IM clients, in fact, can be configured toallow messages only from a preferred group of users (such as those inthe private list), to block messages only from certain users, or toblock all messages from all users. Moreover, IM technology continues toevolve at a rapid pace, and more sophisticated techniques for managing auser's privacy have been disclosed recently.

In particular, U.S. patent publication 2004/10808 discloses a system forautomatically managing a user's visibility and alerts on an IM network,based on the user's activity and activity-related preferences.Specifically, the user of such a system establishes preferences for anactivity, such as watching a particular channel or video stream. Thesystem then monitors the user's activity and manages IM alerts when theuser is engaged in an activity with established preferences.

U.S. patent publication 2004/143633 discloses another privacy managementtechnique in which privacy codes are exchanged between users beforedelivering an instant message. Although this technique protects themessage itself, the IM client still alerts a user in the same mannerafter the privacy codes are accepted.

Although the techniques described above may prevent some instances ofundesirable alerts on an exposed display, they also may prevent someinstances of desired alerts. Thus, there is still a need in the art foran IM client that provides users with more sophisticated control overthe information that the IM client displays on an exposed displaydevice. The invention described in detail below addresses this need.

BRIEF SUMMARY

The invention described below is an improved instant-messaging systemthat minimizes undesirable alerts on an exposed output device. Thesystem typically includes an instant-messaging program operable on adata processing machine to receive message data from a caller over acommunications medium. The instant-messaging program isuser-configurable so that a user can select an alert mode that altersthe instant-messaging program's response to receiving message data froma caller when a user is operating an exposed output device.Specifically, a user can select either a “do-not-disturb” mode, a“designee” mode, a “caller-id” mode, or a “priority” mode. If the userselects the do-not-disturb mode, the instant-messaging program blocksthe message data and informs the caller that the user does not wish tobe disturbed. If the user selects the caller-id mode, theinstant-messaging program displays the caller's identification and thenprompts the user to accept or deny the message data. If the user selectsthe priority mode, the instant-messaging program displays the caller'sidentification only if the caller is in the user's “priority list.”

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objectives and advantages thereof, willbe understood best by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 is a flowchart of the improved instant-messaging program;

FIG. 2 is a representative schematic of a memory having the componentsof the present invention; and

FIG. 3, FIG. 4, FIG. 5, FIG. 6, FIG. 7, FIG. 8, FIG. 9, FIG. 10, FIG.11, FIG. 12, FIG. 13, and FIG. 14 are flowcharts of computer programsand portions of computer programs embodying the present invention.

DETAILED DESCRIPTION

As is well-known in the computing arts, there are often a variety ofmeans for implementing any given processing function. In particular,most processing may be implemented with computer hardware, computersoftware, or any combination thereof. Likewise, the principles of thepresent invention are applicable to a variety of computer hardware andsoftware configurations, and the means for implementing any givenfunction described below, whether hardware or software, are illustrativeonly. From this description, any person of ordinary skill in thecomputing arts may readily develop equivalent combinations of hardwareand software that perform identical functions.

The term “computer hardware” or “hardware,” as used herein, refers toany machine or apparatus that is capable of accepting, performing logicoperations on, storing, or displaying data, and includes withoutlimitation processors and memory; the term “computer software” or“software,” refers to any set of instructions operable to cause computerhardware to perform an operation. A “computer,” as that term is usedherein, includes without limitation any useful combination of hardwareand software, and a “computer program” or “program” includes withoutlimitation any software operable to cause computer hardware to accept,perform logic operations on, store, or display data. A computer programmay, and often is, comprised of a plurality of smaller programmingunits, including without limitation subroutines, modules, functions,methods, and procedures. Thus, the functions of the present inventionmay be distributed among a plurality of computers and computer programs.The invention is described best, though, as a single computer programthat configures and enables one or more general-purpose computers toimplement the novel aspects of the invention. For illustrative purposes,the inventive computer program will be referred to as the“instant-messaging (IM)” program.

Means for enabling an operator to interact with such a computer programare well-known in the art. The particular means for enabling an operatorto enter or view data are of little significance to the novelty of thepresent invention, and generally are not described in detail here. Thus,for the purposes of describing a preferred embodiment, and unlessotherwise indicated, the inventive computer program interacts with anoperator through conventional means, such as keyboards, mice, videomonitors, input files, dialog boxes, voice recognition, or the like,although a person of ordinary skill in the art may readily recognizeadditional hardware, software, or any combination thereof that performsthe identical function.

The functions of the IM program described below are applicable to manydifferent messaging scenarios, including scenarios wherein any program,device driver, operating system, or the like attempts to notify a userof an event or condition through audio or visual cues. Nonetheless, forthe sake of simplicity and clarity, the IM program is described below inthe context of a typical chat session in which the term “caller” refersto any user of an IM system who attempts to initiate a chat with arecipient. The term “recipient,” as used herein, refers to any user ofthe IM program. Moreover, the following discussion generally assumesthat the recipient is using a computer with an exposed output device. Asused herein, an “output device” is any hardware operable to display datato a user, and an “exposed” output device is any output device visibleto anyone other than the recipient.

Additionally, the IM program is described below with reference to anexemplary network of hardware devices, as depicted in FIG. 1. A“network” comprises any number of hardware devices coupled to and incommunication with each other through a communications medium, such asthe Internet. A “communications medium” includes without limitation anyphysical, optical, electromagnetic, or other medium through whichhardware or software can transmit data. For descriptive purposes,exemplary network 100 has only a limited number of nodes, includingworkstation computer 105, workstation computer 110, server computer 115,and persistent storage 120. Network connection 125 comprises allhardware, software, and communications media necessary to enablecommunication between network nodes 105-120. Unless otherwise indicatedin context below, all network nodes use publicly available protocols ormessaging services to communicate with each other through networkconnection 125.

IM program 200 typically is stored in a memory, representedschematically as memory 220 in FIG. 2. The term “memory,” as usedherein, includes without limitation any volatile or persistent medium(computer readable medium), such as an electrical circuit, magneticdisk, or optical disk, or other computer-readable storage medium inwhich a computer can store data or software. A single memory mayencompass and be distributed across a plurality of media. Thus, FIG. 2is included merely as a descriptive expedient and does not necessarilyreflect any particular physical embodiment of memory 220. As depicted inFIG. 2, though, memory 220 may include additional data and programs. Ofparticular import to IM program 200, memory 220 may include prioritylist 230 with which IM program 200 interacts.

Operating systems, such as MICROSOFT WINDOWS, often know what types ofdevices are attached to the video adapter, and IM program 200 can obtainthe device type from the operating system. Similarly, IM program 200 canobtain information about other programs from the operating system. Forexample, if a user is running a network conferencing program, such asMICROSOFT NETMEETING or WEBEX, IM program 200 can obtain thisinformation from the operating system to determine that computer is inpresentation mode. Moreover, presentation programs such as MICROSOFTPOWERPOINT generally display slides in a window without a title bar whenin presentation mode. Thus, IM program 200 can query such a presentationprogram to see if the program's window has a title bar (FIG. 5, element502; FIG. 6, element 602). Other means for determining when aworkstation is in a presentation mode (FIG. 4, element 402) include:detecting if more than one output device is displaying the sameinformation (such as an external monitor and an LCD screen on a laptop)(FIG. 7, element 702; FIG. 11, element 1102); comparing an output devicewith a list of known projection devices (FIG. 8, element 802; FIG. 9,element 902; FIG. 10, element 1002; FIG. 12, element 1202); querying anoutput device for properties that are known to belong to projectiondevices (FIG. 13, element 1302); or querying the workstation's powermanagement mode to determine if the user has placed it in presentationmode or DVD viewing mode (FIG. 14, element 1402).

A situation may arise in which a user is giving a presentation on theuser's own output device and the user's own output device will not bedetected as an exposed output device. In such a situation, the user maymanually designate the user's output device as an exposed device.

Thus, if a projector or the like is attached, if the recipient is usingpresentation software in presentation mode (FIG. 4, element 402), IMprogram 200 can acquire this information from the operating system orother program. IM program 200 then assumes that the workstation isconfigured for a presentation and automatically selects the recipient'sdesired alert mode (FIG. 4, element 404; FIG. 8, element 804; FIG. 9,element 904; FIG. 10, element 1004). Optionally, this information may beused to update the recipient's status icon and status message as seen byother IM users. Or, rather than make an automatic selection, IM program200 may prompt the recipient to confirm the change in alert mode. In yetanother embodiment, the recipient configures IM program 200 to select adesired alert mode based upon schedule data in a personal informationmanager program or a calendar program, so that IM program 200 selectsthe appropriate mode if, according to the schedule data, the recipientis in a meeting or the like.

FIG. 3 is a flowchart of IM program 200. For illustrative purposes, thefollowing discussion of FIG. 3 assumes that IM program 200 is storedwithin the memory of workstation 105. Thus, once started (301) IMprogram 200 continuously monitors workstation 105 for configurationchanges, and monitors network connection 125 for message data addressedto the recipient using workstation 105. After starting IM program 200,the recipient selects a desired alert mode (305). Alternatively, therecipient configures IM program 200 to select a desired alert modeautomatically when workstation 105 is configured for a presentation(FIG. 4, element 404; FIG. 5, element 504; FIG. 8, element 804). Alertmodes are a means for identifying the recipient's messaging preferencesand processing message data during a presentation. In the embodimentdescribed below, alert modes include a “do-not-disturb” mode (FIG. 5,element 504), a “designee” mode, a “caller-id” mode (FIG. 6, element604; FIG. 9, element 904), and a “priority” mode (FIG. 7, element 704;FIG. 10, element 1004).

If the recipient selects the do-not-disturb mode (310), then IM program200 blocks incoming message data (315) and informs all callers that therecipient is busy (320).

If the recipient selects the caller-id mode (330), then IM program 200displays a caller's identification (335), such as the caller's real nameor email address, upon receiving the caller's message data (340). IMprogram 200 then prompts the recipient to accept or refuse the messagedata (345). If the recipient opts to accept the message data from thecaller, then IM program 200 displays the message data on the recipient'soutput device (350). If the recipient opts to refuse the message data,then IM program 200 blocks the incoming message data (315) and informsthe caller that the recipient is busy (320).

If the recipient selects the priority mode (360), then IM program 200blocks incoming message data (315) unless a caller is in the recipient'spriority list 230 (365). If the caller is in priority list 230, then IMprogram 200 displays the caller's identification (335), or in analternative embodiment, IM program 200 prompts the priority callerbefore displaying the caller's identification to confirm that themessage is urgent before displaying the caller's identification. IMprogram 200 then prompts the recipient to accept or refuse the messagedata (345). If the recipient opts to accept the message data from thepriority caller, then IM program 200 displays the message data on therecipient's output device (350). If the recipient opts to refuse themessage data, then IM program 200 blocks incoming message data (315) andinforms all callers that the recipient is busy (320). Note that, as usedherein, the term “priority list” refers to any list or other datastructure, such as an address book, in which the recipient hasidentified specific IM users for whom IM program 200 should displaytheir identification and prompt the recipient to accept or refuse themessage data. In a preferred embodiment, priority list 230 is internalto IM program 200 and IM program 200 provides an interface through whichthe recipient can manage priority list 230. For instance, IM program 200can automatically configure priority list 230 by adding everyone in therecipient's address book to the priority list. Other alternativesinclude IM program 200 identifying and adding peers and higher rankingassociates within an organization to priority list 230, or allowing therecipient to add individual contacts to priority list 230.

Finally, if the recipient selects designee mode (370), IM program 200notifies any sender that the recipient has designated an alternaterecipient and prompts the sender to confirm that the message should besent to the alternate recipient (375). If the sender confirms, IMprogram 200 then forwards any incoming message data to an alternaterecipient (380), whom the recipient designates in advance. The designeemode is particularly useful if the recipient will be giving apresentation, but has an associate either assisting with thepresentation or in the audience. In such a scenario, the recipient candesignate the associate as the alternate recipient, and the alternaterecipient then can respond to any messages that might affect meetinglogistics during the presentation. Moreover, in alternative oradditional embodiments of IM program 200, the designee mode may becombined with the priority mode or the caller-id mode to achieve evengreater control over IM alerts. In such an embodiment, either therecipient or the alternate recipient selects such an enhanced mode,specifying either the priority mode or the caller-id mode. Then, eitherbefore or after forwarding the message to the alternate recipient, IMprogram 200 would process the message as described in detail above.

As noted above, the functions of IM program 200 also are applicable toother scenarios, including scenarios wherein any program, device driver,operating system, or the like attempts to notify a user of an event orcondition while the user is operating an exposed output device. A dialogbox or the like is the most common notification means. In suchscenarios, a person of ordinary skill in the art may readily adapt theprogram to respond accordingly. Specifically, blocking the notificationas described above may not be the most appropriate response, and it maybe more advantageous merely to minimize the dialog box until the user isno longer operating the exposed output device. Alternatively, IM program200 could be adapted to place the dialog box immediately in thebackground, and restore the presentation to the foreground, thus hidingthe notification until the presentation is complete.

Preferred forms of the invention have been shown in the drawings anddescribed above, but variations in the preferred forms will be apparentto those skilled in the art. The preceding description is forillustration purposes only, and the invention should not be construed aslimited to the specific form shown and described. The scope of theinvention should be limited only the language of the following claims.

1. A method, comprising: determining, via a processor, whether acomputer is in a slide presentation mode; automatically selecting aconfigured designee alert mode in response to determining that thecomputer is in the slide presentation mode; receiving message datathrough a communications medium; and transferring the message data to analternate designated recipient according to the automatically selecteddesignee alert mode when the computer is in the slide presentation mode.2. The method of claim 1, where receiving the message data through thecommunications medium comprises receiving the message data from a callerand further comprising sending a busy signal to the caller.
 3. Themethod of claim 1, where receiving the message data through thecommunications medium comprises receiving the message data from a callerand further comprising displaying only the caller's identification on anoutput device.
 4. The method of claim 1, where receiving the messagedata through the communications medium comprises receiving the messagedata from a caller and further comprising: determining a priority callerlist; and displaying the caller's identification on an output deviceonly when the caller is in the priority caller list.
 5. The method ofclaim 4, further comprising blocking the message data when the caller isnot in the priority caller list.
 6. The method of claim 4, furthercomprising sending a busy signal to the caller when the caller is not inthe priority caller list.
 7. The method of claim 1, further comprising:prompting a caller to transfer the message data to the alternatedesignated recipient; and where transferring the message data to thealternate designated recipient comprises transferring the message datato the alternate designated recipient only when the caller respondsaffirmatively to the prompt.
 8. The method of claim 1, furthercomprising: prompting the alternate designated recipient to accept themessage data from a caller; and displaying the message data on an outputdevice only when the alternate designated recipient respondsaffirmatively to the prompt.
 9. A computer messaging system comprising:a communications medium; an output device; and a computer connected tothe communications medium and the output device, configured to:determine whether the computer is in a slide presentation mode;automatically select a configured designee alert mode in response todetermining that the computer is in the slide presentation mode; receivemessage data through the communications medium; and transfer the messagedata to an alternate designated recipient according to the automaticallyselected designee alert mode when the computer is in the slidepresentation mode.
 10. The computer messaging system of claim 9, where,in being configured to receive the message data through thecommunications medium, the computer is configured to receive the messagedata from a caller and where the computer is further configured to senda busy signal to the caller.
 11. The computer messaging system of claim9, where, in being configured to receive the message data through thecommunications medium, the computer is configured to receive the messagedata from a caller and where the computer is further configured todisplay only the caller's identification on the output device.
 12. Thecomputer messaging system of claim 9, where, in being configured toreceive the message data through the communications medium, the computeris configured to receive the message data from a caller and where thecomputer is further configured to: determine a priority caller list; anddisplay the caller's identification on the output device only when thecaller is in the priority caller list.
 13. The computer messaging systemof claim 12, where the computer is further configured to block themessage data when the caller is not in the priority caller list.
 14. Thecomputer messaging system of claim 12, where the computer is furtherconfigured to send a busy signal to the caller when the caller is not inthe priority caller list.
 15. The computer messaging system of claim 9,where the computer is further configured to: prompt a caller to transferthe message data to the alternate designated recipient; and where, inbeing configured to transfer the message data to the alternatedesignated recipient, the computer is configured to transfer the messagedata to the alternate designated recipient only when the caller respondsaffirmatively to the prompt.
 16. The computer messaging system of claim9, where the computer is further configured to: prompt the alternatedesignated recipient to accept the message data from a caller; anddisplay the message data on the output device only when the alternatedesignated recipient responds affirmatively to the prompt.
 17. Acomputer program product encoded in a computer-readable storage medium,comprising instructions that, when executed by a computer, cause thecomputer to: determine whether the computer is in a slide presentationmode; automatically select a configured designee alert mode in responseto determining that the computer is in the slide presentation mode;receive message data through the communications medium; and transfer themessage data to an alternate designated recipient according to theautomatically selected designee alert mode when the computer is in theslide presentation mode.
 18. The computer program product of claim 17,where, in causing the computer to receive the message data through thecommunications medium, the instructions cause the computer to receivethe message data from a caller and where the instructions further causethe computer to send a busy signal to the caller.
 19. The computerprogram product of claim 17, where, in causing the computer to receivethe message data through the communications medium, the instructionscause the computer to receive the message data from a caller and wherethe instructions further cause the computer to display only the caller'sidentification on an output device.
 20. The computer program product ofclaim 17, where, in causing the computer to receive the message datathrough the communications medium, the instructions cause the computerto receive the message data from a caller and where the instructionsfurther cause the computer to: determine a priority caller list; anddisplay the caller's identification on an output device only when thecaller is in the priority caller list.
 21. The computer program productof claim 20, where the instructions further cause the computer to blockthe message data when the caller is not in the priority caller list. 22.The computer program product of claim 20, where the instructions furthercause the computer to send a busy signal to the caller when the calleris not in the priority caller list.
 23. The computer program product ofclaim 17, where the instructions further cause the computer to: prompt acaller to transfer the message data to the alternate designatedrecipient; and where, in causing the computer to transfer the messagedata to the alternate designated recipient, the instructions cause thecomputer to transfer the message data to the alternate designatedrecipient only when the caller responds affirmatively to the prompt. 24.The computer program product of claim 17, where the instructions furthercause the computer to: prompt the alternate designated recipient toaccept the message data from a caller; and display the message data onan output device only when the alternate designated recipient respondsaffirmatively to the prompt.